package com.wunong.smart.collection.domain.state;

import com.wunong.smart.collection.application.context.CollectionContext;
import com.wunong.smart.collection.application.request.CancelCollectionRequest;
import com.wunong.smart.collection.application.request.CollectRequest;
import com.wunong.smart.collection.domain.model.CollectionDomain;

/**
 * @author create by zealot.zt
 */
public interface CollectionStateService {

    /**
     * 能否收藏
     *
     * @param context
     * @return
     */
    boolean canCollect(CollectionContext<CollectRequest> context);

    /**
     * 能否取消收藏
     *
     * @param request
     * @param domain
     * @return
     */
    boolean canCancel(CancelCollectionRequest request, CollectionDomain domain);

}
